package com.ctshk.rpc.insurance.req;

import com.ctshk.rpc.insurance.req.tp.AcceptUnderReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel(value = "InsuranceUnderwritingReq对象", description = "承保Req对象")
public class InsuranceUnderwritingReq implements Serializable {

    @NotNull(message = "用户ID不能为空")
    @ApiModelProperty("用户Id")
    private Long userId;

    @NotNull(message = "订单编号不能为空")
    @ApiModelProperty("订单编号")
    private String orderNumber;

    /*@NotNull(message = "产品编号不能为空")
    @ApiModelProperty("产品编号")
    private String productCode;*/

    /*@NotNull(message = "产品中文名称不能为空")
    @ApiModelProperty("产品中文名称")
    private String productName;*/

    @NotNull(message = "业务类型不能为空")
    @ApiModelProperty("业务类型,枚举SystemBusinessType")
    private Integer businessType;

    @NotNull(message = "保险成本费用不能为空")
    @ApiModelProperty("保险成本费用")
    private BigDecimal totalFee;

    /*@NotNull(message = "币种ID不能为空")
    @ApiModelProperty(value = "币种ID")
    private Long currencyId;*/

    /*@NotNull(message = "币种不能为空")
    @ApiModelProperty(value = "币种")
    private String currency;*/

    @NotNull(message = "保险ID不能为空")
    @ApiModelProperty(value = "保险ID")
    private Long insuranceId;

    @Valid
    @NotEmpty(message = "第三方保险ReqList不能为空")
    @ApiModelProperty("第三方保险ReqList")
    private List<AcceptUnderReq> acceptReqList;


}
